table of contents
READDIR(2) | Podręcznik programisty Linuksa | READDIR(2) |
NAZWA¶
readdir - odczytanie wpisu w katalogu
SKŁADNIA¶
#include <unistd.h> #include <linux/dirent.h> #include <linux/unistd.h> _syscall3(int, readdir, uint, fd, struct dirent *, dirp, uint, count); int readdir(unsigned int fd, struct dirent *dirp, unsigned int count);
OPIS¶
Nie jest to funkcja, która cię interesuje. Opis implementacji interfejsu zgodnego z POSIX w bibliotece C znajduje się w readdir(3). Niniejsza strona opisuje goły interfejs wywołania systemowego, który może ulec zmianie i który został zastąpiony przez getdents(2).
readdir odczytuje do wskazywanego przez dirp obszaru pamięci jedną strukturę dirent z katalogu, na który wskazuje fd. Parametr count jest ignorowany; odczytywana jest co najwyżej jedna struktura.
Struktura dirent jest zadeklarowana następująco:
struct dirent {
long d_ino; /* numer i-węzła */
off_t d_off; /* offset do tego dirent */
unsigned short d_reclen; /* długość tego d_name */
char d_name [NAME_MAX+1]; /* nazwa pliku (zakończona znakiem NUL) */ }
d_ino jest numerem i-węzła. d_off jest odległością od początku katalogu do tego wpisu dirent. d_reclen jest rozmiarem d_name, nie licząc kończącego znaku NUL. d_name jest zakończoną znakiem NUL nazwą pliku.
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu zwracane jest 1. Po natrafieniu na koniec katalogu zwracane jest 0. Po błędzie zwracane jest -1 i odpowiednio ustawiane errno.
BŁĘDY¶
ZGODNE Z¶
Tp wywołanie systemowe jest specyficzne dla Linuksa.
ZOBACZ TAKŻE¶
1995-07-22 | Linux 1.3.6 |